#ifndef KINEMATIC_BODY_H
#define KINEMATIC_BODY_H

#include "Game Engine\Header\Body.h"

class KinematicBody : public Body
{
public:
	KinematicBody();
	virtual ~KinematicBody();

	virtual void				Init( ID3D10Device* device, btDynamicsWorld* world, std::wstring meshFile,
									ID3D10Effect* fx, ID3D10ShaderResourceView* cubeMap, float mass,
									Physics::Shape shape = Cube, bool useShadows = true );

	virtual void				Init( ID3D10Device* device, btDynamicsWorld* world, std::vector<std::wstring> meshFiles,
									ID3D10Effect* fx, ID3D10ShaderResourceView* cubeMap, float mass,
									Physics::Shape = Cube, bool useShadows = true );

	virtual void				Strafe( float d );
	virtual void				Walk( float d );

	virtual void				Move( float dt );
	virtual void				Stop();

	virtual D3DXVECTOR3&		GetPosition();
	virtual D3DXVECTOR3&		GetVelocity();

	virtual void				SetPosition( D3DXVECTOR3 pos );
	virtual void				SetVelocity( D3DXVECTOR3 pos );

	virtual void				Draw( D3DXMATRIX& lightViewProj );

protected:
};

#endif